/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Ethnicity Hispanic South American</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * <!-- begin-model-doc -->
 * specDomain: S15863 (C-0-T15836-S15837-S15863-cpt)
 * <!-- end-model-doc -->
 * @see org.hl7.v3.V3Package#getEthnicityHispanicSouthAmerican()
 * @model extendedMetaData="name='EthnicityHispanicSouthAmerican'"
 * @generated
 */
public enum EthnicityHispanicSouthAmerican implements Enumerator {
	/**
	 * The '<em><b>21659</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21659_VALUE
	 * @generated
	 * @ordered
	 */
	_21659(0, "_21659", "2165-9"),

	/**
	 * The '<em><b>21667</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21667_VALUE
	 * @generated
	 * @ordered
	 */
	_21667(1, "_21667", "2166-7"),

	/**
	 * The '<em><b>21675</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21675_VALUE
	 * @generated
	 * @ordered
	 */
	_21675(2, "_21675", "2167-5"),

	/**
	 * The '<em><b>21683</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21683_VALUE
	 * @generated
	 * @ordered
	 */
	_21683(3, "_21683", "2168-3"),

	/**
	 * The '<em><b>21691</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21691_VALUE
	 * @generated
	 * @ordered
	 */
	_21691(4, "_21691", "2169-1"),

	/**
	 * The '<em><b>21766</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21766_VALUE
	 * @generated
	 * @ordered
	 */
	_21766(5, "_21766", "2176-6"),

	/**
	 * The '<em><b>21709</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21709_VALUE
	 * @generated
	 * @ordered
	 */
	_21709(6, "_21709", "2170-9"),

	/**
	 * The '<em><b>21717</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21717_VALUE
	 * @generated
	 * @ordered
	 */
	_21717(7, "_21717", "2171-7"),

	/**
	 * The '<em><b>21725</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21725_VALUE
	 * @generated
	 * @ordered
	 */
	_21725(8, "_21725", "2172-5"),

	/**
	 * The '<em><b>21758</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21758_VALUE
	 * @generated
	 * @ordered
	 */
	_21758(9, "_21758", "2175-8"),

	/**
	 * The '<em><b>21733</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21733_VALUE
	 * @generated
	 * @ordered
	 */
	_21733(10, "_21733", "2173-3"),

	/**
	 * The '<em><b>21741</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_21741_VALUE
	 * @generated
	 * @ordered
	 */
	_21741(11, "_21741", "2174-1");

	/**
	 * The '<em><b>21659</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21659</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21659
	 * @model literal="2165-9"
	 * @generated
	 * @ordered
	 */
	public static final int _21659_VALUE = 0;

	/**
	 * The '<em><b>21667</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21667</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21667
	 * @model literal="2166-7"
	 * @generated
	 * @ordered
	 */
	public static final int _21667_VALUE = 1;

	/**
	 * The '<em><b>21675</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21675</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21675
	 * @model literal="2167-5"
	 * @generated
	 * @ordered
	 */
	public static final int _21675_VALUE = 2;

	/**
	 * The '<em><b>21683</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21683</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21683
	 * @model literal="2168-3"
	 * @generated
	 * @ordered
	 */
	public static final int _21683_VALUE = 3;

	/**
	 * The '<em><b>21691</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21691</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21691
	 * @model literal="2169-1"
	 * @generated
	 * @ordered
	 */
	public static final int _21691_VALUE = 4;

	/**
	 * The '<em><b>21766</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21766</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21766
	 * @model literal="2176-6"
	 * @generated
	 * @ordered
	 */
	public static final int _21766_VALUE = 5;

	/**
	 * The '<em><b>21709</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21709</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21709
	 * @model literal="2170-9"
	 * @generated
	 * @ordered
	 */
	public static final int _21709_VALUE = 6;

	/**
	 * The '<em><b>21717</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21717</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21717
	 * @model literal="2171-7"
	 * @generated
	 * @ordered
	 */
	public static final int _21717_VALUE = 7;

	/**
	 * The '<em><b>21725</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21725</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21725
	 * @model literal="2172-5"
	 * @generated
	 * @ordered
	 */
	public static final int _21725_VALUE = 8;

	/**
	 * The '<em><b>21758</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21758</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21758
	 * @model literal="2175-8"
	 * @generated
	 * @ordered
	 */
	public static final int _21758_VALUE = 9;

	/**
	 * The '<em><b>21733</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21733</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21733
	 * @model literal="2173-3"
	 * @generated
	 * @ordered
	 */
	public static final int _21733_VALUE = 10;

	/**
	 * The '<em><b>21741</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>21741</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_21741
	 * @model literal="2174-1"
	 * @generated
	 * @ordered
	 */
	public static final int _21741_VALUE = 11;

	/**
	 * An array of all the '<em><b>Ethnicity Hispanic South American</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final EthnicityHispanicSouthAmerican[] VALUES_ARRAY =
		new EthnicityHispanicSouthAmerican[] {
			_21659,
			_21667,
			_21675,
			_21683,
			_21691,
			_21766,
			_21709,
			_21717,
			_21725,
			_21758,
			_21733,
			_21741,
		};

	/**
	 * A public read-only list of all the '<em><b>Ethnicity Hispanic South American</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<EthnicityHispanicSouthAmerican> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Ethnicity Hispanic South American</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static EthnicityHispanicSouthAmerican get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			EthnicityHispanicSouthAmerican result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Ethnicity Hispanic South American</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static EthnicityHispanicSouthAmerican getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			EthnicityHispanicSouthAmerican result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Ethnicity Hispanic South American</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static EthnicityHispanicSouthAmerican get(int value) {
		switch (value) {
			case _21659_VALUE: return _21659;
			case _21667_VALUE: return _21667;
			case _21675_VALUE: return _21675;
			case _21683_VALUE: return _21683;
			case _21691_VALUE: return _21691;
			case _21766_VALUE: return _21766;
			case _21709_VALUE: return _21709;
			case _21717_VALUE: return _21717;
			case _21725_VALUE: return _21725;
			case _21758_VALUE: return _21758;
			case _21733_VALUE: return _21733;
			case _21741_VALUE: return _21741;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EthnicityHispanicSouthAmerican(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //EthnicityHispanicSouthAmerican
